/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package DTD.Diccionario;

import java.util.ArrayList;

/**
 * Clase que contiene las palabras reservadas para los atributos de las etiquetas, es decir
 * si son obligatorios o no.
 * @author Administrador
 */
public class DiccionarioAtributo implements IDiccionario {
    private ArrayList<String> palabras; //lista de palabras reservadas para etributos
    private int tipo; //tipo de dicionario atributo

    /**
     * Constructor
     */
    public DiccionarioAtributo() {
        palabras  = new ArrayList<String>();
        this.tipo = DiccionarioAtributo.ATT_OPCIONAL;
        cargar();
    }

    /**
     * Determina si la cadena recibida por parámetro es un atributo
     * @param palabra String a validar
     * @return True si es un atributo, false en caso contrario
     */
    public boolean existe(String palabra) {
        return palabras.contains(palabra);
    }

    /**
     * Carga todos las palabras reservadas de los atributos
     */
    private void cargar() {
        palabras.add("#REQUIRED");
        palabras.add("#IMPLIED");
    }

    /**
     * Mètodo que devuelve el identificador correspondiente al diccionario de
     * atributos
     * @return int que corresponde a tipo de dato
     */
    public int getTipoDiccionario() {
        return this.tipo;
    }

}
